/*
 * $Id: QECountry.h 249 2008-09-09 13:58:25Z jon $
 * Sleeper
 *
 * Created by Jon Gordon on 3/15/08
 * Copyright Jon Gordon.  All rights reserved.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining 
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including 
 * without limitation the rights to use, copy, modify, merge, publish, 
 * distribute, sublicense, and/or sell copies of the Software, and to 
 * permit persons to whom the Software is furnished to do so, subject to 
 * the following conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */


#import <Cocoa/Cocoa.h>

extern NSString *qeKeyCountryDesigIndep;


@interface QECountry : NSObject {
    NSString *name;
    NSString *longName;
    NSString *designation;
    NSString *iso3166_1num;
    NSString *iso3166_1alpha2;
    NSString *iso3166_1alpha3;
    NSString *fips10_4;
    QECountry *dependencyOf;
}

+ (NSArray *)allCountries;
+ (NSArray *)allIndependentCountries;
+ (QECountry *)countryForName:(NSString *)name;
+ (NSArray *)countriesForNames:(NSArray *)names;
+ (QECountry *)countryForIso3166_1num:(NSString *)isoCode;
+ (QECountry *)countryForIso3166_1alpha2:(NSString *)isoCode;
+ (QECountry *)countryForIso3166_1alpha3:(NSString *)isoCode;
+ (QECountry *)countryForFips10_4:(NSString *)fipsCode;

- (NSString *)name;
- (NSString *)longName;
- (NSString *)designation;
- (NSString *)iso3166_1num;
- (NSString *)iso3166_1alpha2;
- (NSString *)iso3166_1alpha3;
- (NSString *)fips10_4;
- (QECountry *)dependencyOf;
- (BOOL)isDependency;
@end
